Static program analyses for object-oriented programming languages largely rely on the precision of heap abstractions computed via points-to analyses, for which there exist a variety of different approaches. Standard context-insensitive points-to algorithms have insufficient precision for many applications including, for example, security analysis. In contrast, context-sensitive points-to algorithms may yield more precise points-to results, but for large-scale software such algorithms are computationally expensive and, historically, do not scale.